iT邦幫忙

2025 iThome 鐵人賽

DAY 2
0

變數

Java中比較常見的有以下這幾種Primitive資料型態

  • int
  • double
  • char
  • boolean

而下面這三個是Reference資料結構

  • string
  • array
  • object

因為之前學過C, C++,目前看起來是覺得大同小異,看起來比較有變化的是原本C++寫bool要改成寫boolean了


接收使用者輸入

Java在輸出的部分不需要借助任何import檔,但在接收輸入的部分則需要用到Scanner這個函式庫(我不確定Java這邊叫甚麼,我暫時先叫他函式庫好了)
下面是創建Scanner的方式

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner scanner = new Scanner();
    }
}

以我當前的理解詳細展開如下 (如果理解有問題還請指正!)

Scanner(物件) scanner(變數名稱) = new(分配一塊資源) Scanner()(呼叫Scanner這個物件的default constructor);

接著有了scanner這個物件之後,就可以用它來取得使用者的輸入

int num = scanner.nextInt(); // 讀取一個int
double score = scanner.nextDouble(); // 讀取一個double
char currency = scanner.nextChar(); // 讀取一個char
boolean isStudent = scanner.nextBoolean(); // 讀取一個boolean

// 使用完scanner之後要記得把scanner關閉,以免造成意外錯誤
scanner.close();

邏輯運算

也就是+ - * / %,這些基本上是跟學過相同的
以及 = == += -= ++ -- 這些,目前用起來還沒遇到問題


If 判斷式

用法也幾乎是一樣的

if(判斷式){
    // 成立時的statement
}
else if(判斷式2){
    // 成立時的statement
}
else{
    // 否則的statement
}

隨機數

之前在學C++時覺得用隨機數好麻煩,要宣告engine還有distribution的,Java的隨機數反而簡單很多

import java.util.Random;

// 在main function中:
Random random = new Random(); // 這樣子就宣告完random這個物件了,括弧內可以放入seed

int number1 = random.nextInt(); // 範圍界值 -2^31~2^31-1
int number2 = random.nextInt(1, 7); // 範圍界值 1~6(右邊是開區間)
double number3 = random.nextDouble(); // 範圍界值 0~1
boolean isHead = random.nextBoolean(); // 生成0或1,可用於投硬幣

結語

今天是學習Java基本語法的第一天,整體來看目前沒有遇到很多困難,只有Scanner的用法需要記一下,然後Random的宣告方式也跟Scanner一樣。
然後發現今天學到的兩個import的東西都跟java.util這個檔案有關,以及import的"內容"開頭會大寫(例如'S'canner,'R'andom)
今天學得很快樂,明天繼續!/images/emoticon/emoticon42.gif


上一篇
Day 1:確立目標、學習內容與環境建置
下一篇
Day 3:Java基本語法(二)
系列文
30天從基礎學起Java,直到做出我的第一個遊戲21
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言